package cn.swing.ushare.guestbook.webapi.mapper;

import cn.swing.ushare.pojo.vo.FeedBackVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface GuestbookMapper {
    /**
     * 各个界面操作日志处理
     *
     * @param systemModule    操作模块
     * @param operationType   操作类型 删除 插入 更新...
     * @param operator        操作者
     * @param operationDetail 操作细节
     */
    void insertOperationLog(@Param("systemModule") String systemModule,
                            @Param("operationType") String operationType,
                            @Param("operator") String operator,
                            @Param("operationDetail") String operationDetail);

    /**
     * 反馈所有反馈列表信息
     *
     * @param page
     * @param feedbackPeople
     * @return
     */
    List<FeedBackVO> list(@Param("page") Integer page, @Param("feedbackPeople") String feedbackPeople);

    Integer deleteByIds(Integer[] ids);

    String selectNicknameById(Integer id);

    //
    Integer countAllGuestbook();

    /**
     * 返回反馈信息列表数量
     *
     * @param feedbackPeople
     * @return
     */
    Integer count(String feedbackPeople);



    /**
     * 插入反馈数据
     *
     * @param type
     * @param feedbackContent
     * @param beenFeedbackPeople
     * @param feedbackPeople
     * @param feedbackReason
     */
    void insertFeedback(@Param("type") String type, @Param("feedbackContent") String feedbackContent, @Param("beenFeedbackPeople") String beenFeedbackPeople, @Param("feedbackPeople") String feedbackPeople, @Param("feedbackReason") String feedbackReason);


    /**
     * 根据评论id来查评论内容
     *
     * @param commentId
     * @return
     */
    String selectCommentContentById(Integer commentId);

    /**
     * 根据用户id来获取用户详细信息
     *
     * @param userId
     * @return
     */
    String selectUserNicknameById(Integer userId);



    /**
     * 删除7天以前的无效日志数据
     */
    void deleteOperationLog();
}
